#pragma once
#include "Task.h"

class Core {
private:
	Vertex coordinate;
	double inputSpeed;
	double outputSpeed;
	double executionSpeed;
	int applicationId;
	int taskId;
	static const int speedLevel[3];
public:
	/*core needs position and speeds*/
	Core(int l, int h,int w, double es, double is,double os);

	/*turn on the core running specific task*/
	void turnOn(int aId, int tId);

	/*turn off the core*/
	void turnOff();

	/*returns true if the core is busy,false otherwise*/
	bool checkState();

	Vertex getCoordinate();
	int getApplicationId();
	double getExecutionSpeed();
	double getInputSpeed();
	double getOutputSpeed();
};
